package com.fyy.quartz.service;

import java.util.Map;

/**
 * @Author fyy
 * @Description 服务层接口
 * @Date 2020/12/23 10:53
 */
public interface QuartzJobService {

    /**
     * @Author fyy
     * @Description 添加任务可以传参数
     * @Date 2020/12/23 10:53
     */
    void addJob(String clazzName, String jobName, String groupName, String cronExp, Map<String, Object> param);

    /**
     * @Author fyy
     * @Description 暂停任务
     * @Date 2020/12/23 10:54
     */
    void pauseJob(String jobName, String groupName);

    /**
     * @Author fyy
     * @Description 恢复任务
     * @Date 2020/12/23 10:54
     */
    void resumeJob(String jobName, String groupName);

    /**
     * @Author fyy
     * @Description 立即运行一次定时任务
     * @Date 2020/12/23 10:55
     */
    void runOnce(String jobName, String groupName);

    /**
     * @Author fyy
     * @Description 更新任务
     * @Date 2020/12/23 10:55
     */
    void updateJob(String jobName, String groupName, String cronExp, Map<String, Object> param);

    /**
     * @Author fyy
     * @Description 删除任务
     * @Date 2020/12/23 10:55
     */
    void deleteJob(String jobName, String groupName);

    /**
     * @Author fyy
     * @Description 启动所有任务
     * @Date 2020/12/23 10:56
     */
    void startAllJobs();

    /**
     * @Author fyy
     * @Description 暂停所有任务
     * @Date 2020/12/23 10:56
     */
    void pauseAllJobs();

    /**
     * @Author fyy
     * @Description 恢复所有任务
     * @Date 2020/12/23 10:56
     */
    void resumeAllJobs();

    /**
     * @Author fyy
     * @Description 关闭所有任务
     * @Date 2020/12/23 10:57
     */
    void shutdownAllJobs();

}
